A The gain settings do not take effect until you open the sound input device for
recording.
The name SPBOpenDevice is a misnomer -- it does not actually open the device, it merely returns which device to open when you begin recording. The recording calls actually open the device, allowing changes in the gain settings to be made.
The one other call that will open the device is the SPBSetDeviceInfo call with the siLevelMeterOnOff selector set to on. Making this call will open the device and begin recording (but not saving data), so that the gain settings will take effect. You can now begin the real recording, with the gain set to the desired level.